package com.bjsxt.service;

import com.bjsxt.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.dto.UserDto;
import com.bjsxt.vo.DataGridView;

import java.util.List;

public interface UserService{
    /**
     * 根据手机号查找用户是否存在
     * @param phone
     * @return
     */
    User queryUserByPhone(String phone);

    /**
     * 根据用户id查找用户
     * @param userId 用户编号
     * @return
     */
    User getOne(Long userId);

    /**
     * 分页查询用户信息
     */
    DataGridView listUserForPage(UserDto userDto);

    /**
     * 添加用户信息
     * @param userDto
     * @return
     */
    int addUser(UserDto userDto);

    /**
     * 修改用户信息
     * @param userDto
     * @return
     */
    int updateUser(UserDto userDto);

    /**
     * 根据用户id删除用户信息
     * @param userIds
     * @return
     */
    int deleteUserByIds(Long[] userIds);


    /**
     * 查询所有可用的用户
     */
    List<User> getAllUsers();

    /**
     * 重置用户密码
     */
    void resetPassword(Long[] userIds);

    /**
     * 查询需要排班的医生信息
     * @param userId 医生id
     * @param deptId 科室id 如果科室id为空则表示查询全部科室的
     * @return
     */
    List<User> queryUsersNeedScheduling(Long userId, Long deptId);
}
